package com.whcoding.test.pojo;

import com.opencsv.bean.CsvBindByName;
import com.opencsv.bean.CsvDate;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @program: spring-boot-learning
 * @description:
 * @author: whcoding
 * @create: 2022-03-09 11:17
 **/
@Data
public class DataAndTypeCsv {

	/**
	 * 创建时间
	 * http://opencsv.sourceforge.net/#core_concepts
	 */
	@CsvBindByName(column = "CreateTime")
	@CsvDate("yyyy-MM-dd\'T\'HH:mm:ss")
	private Date createTime;

	/**
	 * 更新时间
	 */
	@CsvBindByName(column = "UpdateTime")
	@CsvDate("yyyy-MM-dd\'T\'HH:mm:ss")
	private Date updateTime;

	/**
	 * 创建人
	 */
	@CsvBindByName(column = "CreateUser")
	private String createUser;

	/**
	 * 创建人
	 */
	@CsvBindByName(column = "UpdateUser")
	private Integer updateUser;

	/**
	 * 是否有效
	 */
	@CsvBindByName(column = "IsValid")
	private Integer isValid;

	/**
	 * 客户编码
	 */
	@CsvBindByName(column = "CustomerNo")
	private String customerNo;

	/**
	 * 客户名称
	 */
	@CsvBindByName(column = "CustomerName")
	private String customerName;

	/**
	 * 是否有效
	 * required 是否可以为null 否
	 */
	@CsvBindByName(column = "ShortName", required = true)
	private String shortName;

	@CsvBindByName(column = "longitude", required = true)
	private BigDecimal longitude;

	@CsvBindByName(column = "经度", required = true)
	private BigDecimal latitude;

	/**
	 * 注解映射器
	 */
//	@CsvCustomBindByPosition(position = 3, converter = SimpleBeanFieldConverter.class)
//	private Date lastTime;
}
